1. Field of the Invention
The present invention relates to computer network architectures, and, more specifically, to software for managing computer and communications networks. More particularly, the present invention provides software, systems, and apparatus for managing software entities and hardware over a computer network. The present invention has applications in the areas of computer science, computer network management, and computer software.
2. The Related Art
The demands on computer network managers have grown exponentially as the size and extensiveness of computer networks has grown over the past decade. Starting from the relatively simple task of maintaining communication among a relatively small number of mainframe computers, network managers must now coordinate operations among thousands of computers, printers, servers, and other networked devices. With the advent of the Java(copyright) and Jini(trademark) programming languages, even household devices will soon become linked over computer networks running on household xe2x80x9cintranetsxe2x80x9d that in turn are linked to the worldwide Internet. Thus, there appears to be no end in sight to the increasing burden on network managers.
To control and coordinate the software associated with the myriad of networked computers and other devices, network managers employ software designed to track, establish communications with, and control various software entities or processes that exist independently or represent the networked devices. Entities that represent networked devices are also referred to herein as xe2x80x9cagentsxe2x80x9d. The software used by the network manager interacts with various xe2x80x9cplatform-levelxe2x80x9d software services to enable the network manager to locate and interact with the various entities running on the network. Various services are provided to identify the entities, retrieve needed data about the properties and states of the entities, and store that information for use by other entities and user applications. In particular, a topology service is used to provide a logical representation of the devices on the network. The representations can be acted upon by the applications.
The number of entities being processed by the network management software can be great for large computer networks. Managing such a large number of entities can slow system performance dramatically. Also, many systems rely on the same central software service to process both communications connection and manage entity data. This reliance on a single service to process such diverse yet vital tasks creates a risk of catastrophic network failure if the central software service fails. Such risks and decreased performance are not acceptable for large-scale networks that must be available twenty-four hours a day, seven days a week.
Therefore, it would be beneficial to provide a topology service for a computer network management architecture that can process large numbers of devices and that continues to operate even if a central piece of the network management software fails. The present invention meets these and other needs.
The present invention meets the above-described needs by providing, in one aspect, a computer network entity topology system for computer and communications network management architectures that has high processing capacity and is robust. The design of the topology software, system, and methods provided by the present invention can be scaled readily to handle efficiently the demands of ever-growing computer and communications networks and can be run in processes separate from other network management functions. Such a capability reduces the risk of a catastrophic network management failure.
In a first aspect, the present invention provides a system for representing devices on a computer network. In one embodiment, the system of the invention includes a topology service. The topology service includes a protocol interface mechanism, an engine, and a database support mechanism. The topology service is coupled with a data storage mechanism. In a more specific embodiment, the protocol interface mechanism, engine, and database support mechanism each configured to operate as independent components. The configuration is arranged such that either the protocol mechanism, the engine, or the database support mechanism components can be substituted with a second such component without substantial reconfiguration of the remaining components. In another embodiment, the engine includes a series of objects that define computer network topology nodes. The nodes include information about the devices on the network.
In another aspect, the present invention includes a method for representing devices on a computer network. In one embodiment, the method of the invention devices on a computer network are identified. A topology object is created to represent the device. The object is associated with the device. The associated object is stored in a database managed by a topology service, such as just described. In another embodiment, the method provided by the invention includes receiving an alarm notification regarding a device having an associated topology object stored in the database. The topology object is extracted from the database and acted on by the topology object in accordance with the alarm. The step of acting includes, according to another embodiment of the invention, the sub-steps of updating an alarm count in the topology object, propagating a notice to other topology nodes associated with the topology object, storing information related to the alarm and the database, and notifying other services on the computer network.
In yet another aspect, the present invention provides computer-readable media and data signals that are configured to cause a computer to implement the computer-controlled steps of providing a topology service on a computer network. The topology service is configured to create and manage topology objects representing devices on the network. The computer is further controlled by the media and signals to create topology objects representing devices and associating the objects with the devices. Furthermore, the computer is further controlled by the media and signals to store the associated topology objects in a database managed by the topology service.
These and other aspects and advantages will become apparent when the Description below is read in conjunction with the accompanying Drawings.